
____________________

Labyrinth user guide
____________________


User, please note
=================

Labyrinth is Freeware, i.e. it is free software, but not public domain.

Copyright notice
================

The copyrights (c) of this program belong to John Kortink. All rights are
reserved.

You may not make changes to this program (except for documented configuration
changes). If you distribute it, you may only distribute the complete and
unchanged original copy (as you first received it). You may distribute this
program freely, but must obtain written permission from me if it is to be
distributed as part of, or alongside, any product that is meant to generate
profits. This program is provided 'as is'. Fitness of this program for any
particular purpose is not implied. Using it is entirely at your own risk.


//
//
// Introduction
//
//

Way back in 1984, I bought the Acornsoft game Labyrinth for my BBC micro. I was
quickly captivated by the neat and exciting gameplay, played it a lot, and it
has always remained an absolute favourite.

Somewhere around 1991, being temporarily bored with my other activities, I
decided, for fun, to have a shot at porting a BBC game to RISC OS, and chose
Labyrinth. I wrote a 6502 emulator (to be able to run the existing Labyrinth
code), fleshed it out with emulation of just the basic extra's to get the game
running (hardware scrolling, keyboard input), and voila ...

And then I forgot all about it.

Then, in 2000, I came across it again, decided to resurrect the code, did an
almost complete rewrite, and here it is. It's not complete in every respect,
e.g. mode 7 emulation (which is only used outside the actual game anyway) is
very basic (e.g. no double-height text). Otherwise, it's all there.

The emulator calibrates itself so the game runs at 100% of the original speed,
regardless of the processor in your machine. A fast processor or a ViewFinder
will benefit scrolling but is not needed. An ARM 2 machine, however, is not
recommended. On ARM 3 machines, scrolling can be a little slow. When exiting
the game, the percentage of the processor time consumed by the emulator is
exported in system variable Labyrinth%Performance. Typical values are 10 (!),
40 and 50% using StrongARM, ARM710 and ARM610 processor cards respectively.


//
//
// Compatibility
//
//

Labyrinth should be compatible with :

- RISC OS 3.1 and later
- ARM 2 and later processors (26-bit architectures only)


//
//
// Using Labyrinth
//
//

First you must obtain the original Labyrinth BBC code. For copyright reasons I
do not supply this. Run any one of the 'Extract' BASIC programs supplied in
!Labyrinth.Extract and follow the instructions.

Then simply run !Labyrinth.

To make Labyrinth run well on ViewFinder and to save people with more powerful
monitors headaches trying to display a tiny screenmode, the game runs in mode
27, with all graphics scaled up by 2.


//
//
// Game keys
//
//

The game keys are displayed on the opening screen.

In addition :

- Press F12 to exit the game and return to the desktop.

- Press 'Print Scrn' to save the game state. When the emulator is next run, the
  game will continue where you were when you saved the game. The game state is
  saved to directory <Labyrinth$SaveDir> (!Labyrinth.Save by default), refer to
  !Labyrinth.!Run if you want to change it. Note that only the last game saved
  is remembered.


//
//
// Acknowledgements
//
//

The original game was written by Michael Mathison for Acornsoft. Almost
everything you see and hear is his work ! I just wrote the emulator ...


//
//
// Epilogue
//
//

Updates of Labyrinth (if any appear) will be made available by (in order of
preference) :

- World Wide Web : visit web.inter.nl.net/users/J.Kortink
- Electronic mail : email kortink@inter.nl.net

Enjoy !


John Kortink



